// this class wraps the shape class so that it can be passed as an argument to get a shape as the output of a function
public class PLOutShape implements Cloneable {
	PLShape mShape = null;
	float mConfidence = 0;

	public PLOutShape() {}

	public PLShape GetShape() {return mShape;}
	public void SetShape(PLShape shape) {mShape = shape;}

	public float GetConfidence() {return mConfidence;}
	public void SetConfidence(float confidence) {mConfidence = confidence;}	

	public Object clone() throws CloneNotSupportedException  {
			PLOutShape  clone = (PLOutShape )super.clone();
			// No need to copy id as Object's clone has already copied it
			// Need to clone location as Point is mutable and could change
			clone.mShape = (PLShape)mShape.clone();
			return clone;
	}


	public void clear() {
		mShape = null;
		mConfidence = 0;
	}

	public void copyOf(PLOutShape shape) {
		mShape = shape.mShape;
		mConfidence = shape.mConfidence;
		
	}

}
